#pragma	once

#include "ZWin32Console.h"
#include "ZSingleton.h"
#include "ZGameMessageController.h"
#include "ZMessageFetcher.h"
#include "ZMessageBuilder.h"

class	ServerConsole
	:	public Z::Win32Console<ServerConsole>,
		public Z::Singleton<ServerConsole>
{
public:
	ServerConsole();
	virtual	~ServerConsole();
	virtual	bool	initialise();
	virtual	void	finalise();
private:
	virtual	bool	handle(char command);
	virtual	void	doProcess(float frameTime);

private:
	typedef	Z::GameMessageController<Z::MessageFetcher, Z::MessageBuilder>	MessageManager;
	MessageManager	mMessageManager;
	bool	mTransfering;
};